The use of microprocessor operated software to control the functioning of analog electronic devices is increasing. Computer modeling software has been developed to simulate and evaluate such analog systems as a design aid. The target role of this computer modeling includes (but is not limited to):                1. Debugging and verifying the microprocessor software and its interactions with the hardware,        2. Verifying specification of new hardware modules proposed for incorporation into the electronic device, and        3. Comparative evaluation of alternative microprocessor products for running the operating software.        
To check and refine the complete design in this manner, simultaneous operation of the hardware and the software must both be modeled, but this has been done only in the digital domain. Known digital simulation programs incorporate analog components as behavioral descriptions that do not accurately evaluate the system at an analog waveform level. Therefore, to achieve a desired degree of accuracy, each simulation of an analog system has required custom programming to fit the needs of the project. Custom programs are typically specific to the actual steps in the operating software, whereas a general test and simulation program should be machine-independent down to the hexadecimal code level.
The simultaneous simulation of hardware and software in the digital domain has been done with such products as Seamless® Hardware/Software Co-Verification by Mentor Graphics and SPW® (Signal Processing Workstation) by Cadence Design. However, none of the existing systems for co-simulation of hardware and software supports the analog waveform simulation needed to obtain an acceptable level of detail to accurately verify analog system performance. A custom designed program can be created for such analog accuracy, but associated costs make this route prohibitive for anything short of large scale systems.
A software analog simulation capability has been demonstrated by Avant! comprising a micro-controller model that executes software during analog simulation. Unfortunately, this model restricts the numerical integration of the analog equations to fractions of a microsecond corresponding to the microprocessor clock. This small time-step limitation makes it impractical to simulate significant portions of system operation.
As used in the description below, the operating software directs input to the model or physical hardware based on feedback, and the control software actuates the simulation model.
Therefore, it is an object of the present invention to provide a method for the synchronized simulation of system hardware together with its controlling microprocessor software in the analog waveform domain.
It is another object of the present invention to provide a method for accurately synchronizing the execution of software instructions in physically correct time coordination to the numerical integration algorithm that computes the analog hardware waveforms.
It is a further object of the present invention to provide a method for the synchronized simulation of a broad range of system hardware and software.
It is a further object of the present invention to provide a method to incorporate actual implementation of the software, including arbitrary variations consistent with the prescribed instruction set of the microprocessor.
It is a still further object of the present invention to provide a method for the synchronized simulation of system hardware and software without restricting the integration time increments used to compute the hardware waveforms.
These and other objects will become more apparent from the description of the invention to follow.